1. Field of the Invention
The present invention relates generally to direct access storage devices, and more particularly to a method and apparatus for generating split tables which increase the efficiency with which data is store on a direct access storage device by determining the amount of data which should be stored between boundaries on the direct access storage device.
2. Description of the Related Art
Consumer demand has been unrelenting for increased data storage capacity which can be made available to a computer user by a device with a physical profile that is the same or smaller than previous devices which provide less capacity. Even as the ability to store more information in less space is provided, the demand for even greater storage capacity in yet less space arises. There are essentially two ways in which a manufacturer of a data storage unit can increase data storage capacity available to a user of a data storage device without increasing the size the of the storage medium within the device. First, the areal density can be increased. Areal density is the total number of bytes of information that can be stored per square inch of area on a storage medium. Second, the efficiency with which the medium is used can be increased. Efficiency is equal to the number of bytes of information which are available for use by the user, divided by the theoretical number of bytes that could be stored on the media if there were no area lost to overhead.
FIG. 1 is an illustration of the manner in which data is organized on a medium in accordance with one particular type of direct access storage device (DASD), commonly referred to as an embedded servo disk drive. In accordance with the DASD shown in FIG. 1, data is organized in data cells 101 stored within tracks 102 on a storage medium 103. The data is read and written by a read/write head which is suspended over the medium as the medium rotates about a central axis through the center of the medium 104 and perpendicular to the plane of the medium 103. Each track 102 is comprised of all the information stored on the medium 103 at a particular radial distance from the center 104 of the medium 103. Tracks 102 can be identified either by the radial distance of the track from the center of the medium, or by a track number which is assigned sequentially to each track 102 starting at the track furthest from the center of the medium. In order to use the medium in the most efficient manner, the tracks lie in close proximity to one another. However, for the sake of clarity, the tracks 102 shown in FIG. 1 are spaced relatively far apart. The width of a track 102 is determined by the width of the read/write head and the skew angle of the read/write head (i.e., the angle of the longitudinal axis of the read/write head with respect to a line parallel to the tangent of the track 102) and the track misregistration tolerance of the head positioning servo. Each track 102 is divided by servo sectors 107 into a plurality of data wedges 105 in which data is stored. Each servo sector 107 includes information used to determine the radial and circumferential position of the read/write head (i.e., the particular track 102 in a particular data wedge 105 over which the read/write head is suspended at each point in time). U.S. Pat. No. 5,285,327 provides information related to servo sectors and is incorporated by herein by reference. That portion of a track 102 which lies within one data wedge is hereafter referred to as a "track wedge" 106.
Each data cell 101 on the medium 103 typically stores a uniform amount of information (512 bytes, for example). However, as can be seen from FIG. 1, the length of each track varies as a function of the radial distance of the track from the center 104 of the medium 103. FIG. 2 is an slightly more detailed illustration of a section of a storage medium 103. A portion of a data wedge comprising eight track wedges (i.e., portions of a track which lie completely within one data wedge) is shown in FIG. 2, each of the four inner most track wedges 102a having three data cells 101. The four outer most track wedges 102b each have four data cells 101. Tracks 102 are grouped into two "servo zones" (hereafter referred to as "zones") in which the data written to each of the tracks 102 within the same zone is written at a constant rate determined by a data clock. Accordingly, each track 102 within the same zone has the same number of data cells 101. Since the data wedges 105 formed between the servo sectors 107 are generally "pie" shaped, the outer track wedges 102b are larger, and thus are capable of storing more information than the inner track wedges 102b. Therefore, by increasing the frequency at which data is written for zones which are further from the center of the medium, the number of data cells 101 that are written at the outer portion of each data wedge 105 is greater than the number of data cells 101 that are written at the inner portion of each data wedge 105. That is, if the number of bytes within each data cell 101, and the number of data cells 101 within each track wedge 106 were held constant, then the tracks at the outer diameter of the medium would have far lower bit density than the tracks at the inner diameter of the medium. In a first attempt to more efficiently write data to the medium, zones were defined by setting the data clock frequency to a rate at which the maximum number of whole data cells 101 are stored in each track wedge. For example, referring to FIG. 2, data is written at the same rate for each track in which the length of each track wedge is insufficient to allow an entire fourth data cell 101 to be written therein without violating the maximum bit density which the medium can support. Accordingly, the rate at which data is written to the inner most track of a zone is set at the greatest rate at which data could reliably be stored and which would result in the most whole data cells 101. The data rate is only increased when the increase in the data rate would result in both an acceptable bit density (i.e., a bit density that is less than the maximum bit density supportable by the medium), and one additional whole data cell being written in each track wedge. Therefore, even if the medium could reliably store data at a greater density, the data rate would be limited to that rate which resulted in an integer number of data cells 101 being written in each track wedge. Accordingly, moving radially outward from the last zone boundary, the next zone boundary occurs when data can be reliably stored at a rate which results in an entire additional data cell 101 being stored within each track wedge. It can be seen that this results in the length d.sub.2 being essentially equal to the length d.sub.1, as shown in FIG. 2.
In addition to using zones in which the number of data cells is increased by interger increments causing data to be written at a different rate for each zone in order to maintain closer to maximum bit density in each track, some DASDs are also designed to increase storage efficiency by increasing the number of data cells 101 that are stored in each track wedge 106 by an amount other than an integer value. Thus, data cells 101 are "split" across servo sectors 107. FIG. 3 is an illustration of a portion of a medium in which data cells 101 are split across servo sectors 107. By splitting data cells 101a, 101b, 101c, 101d across the servo sector 107b, the number of tracks in each zone can be decreased. As a result, the data rate can be increased, and thus the bit density increased, in smaller increments and over smaller radial intervals. Referring to FIG. 3, the rate at which data is written in zone 1 and zone 3 will be essentially equal to the rate at which data is written in zones 1 and 2 of FIG. 2. Accordingly, the length of a track wedge d.sub.2 shown in FIG. 3 is the same as the length d.sub.2 shown in FIG. 2. Also the length of a track wedge d.sub.4 shown in FIG. 3 is equal to the length of the track wedge d.sub.1 shown in FIG. 2. However, the data rate of zone 2 of FIG. 3 is slightly greater than the data rate of zone 1, resulting in the length of the track wedge d.sub.3 being equal to the length d.sub.2 and d.sub.4, and the data rate of zone 4 is slightly greater than the data rate of zone 3, resulting in the length d.sub.5 of the track wedge 102f also being equal to the length of the d.sub.2 and d.sub.4. By increasing the bit density (i.e., increasing the rate at which data is written) at smaller intervals than would be required to add one whole data cell 101 to each track wedge 106, the storage capacity available to the user is greater than would otherwise be available if the zones were defined by the requirement that each data cell be entirely stored in only one track wedge 106. U.S. Pat. No. 5,210,660 discloses one method for splitting data across more than one wedge, and is incorporated herein by reference.
One problem with the use of split data cells arises from the fact that the data clock which is used in the timing of data read and write operations is free running with respect to the angular velocity of the medium. This data clock must be synchronized to the angular velocity of the medium prior to the start of each data cell 101 and also to the start of a byte. Accordingly, each data cell must begin with a "header" which includes a variable frequency oscillator (VFO) field and a synchronization (sync) field, among other fields. Since the header reduces the storage capacity which would otherwise be available to the user, headers in general adversely effect the efficiency of the DASD. In particular, each time a data cell 101 is split across two data wedges, the end portion of a split data cell 101 is spaced too far from the sync field associated with the beginning of that data cell. Therefore, the end portion of the split data cell 101 must begin with a new header. It can be seen that including a header for the end portion of the split data cell 101 means that each split data cell 101 requires two headers rather than one. Accordingly, the benefit of using split data cells to increase the bit density of some of the tracks is offset by a decrease in the efficiency of the DASD due to the need for additional headers.
In addition to the inefficiency that results from the need to include an additional header for each portion of each split data cell, a mechanism is required which allows the data channel to determine whether either the first or last data cell 101 within each track wedge are part of a split data cell. One such mechanism is a "split table". A split table includes:
(1) a flag which indicates whether there is a partial data cell written at the beginning of the track wedge 106; PA1 (2) the number of data bytes in the partial data cell written at the beginning of the track wedge 106; PA1 (3) the number of new data cells that are started in the track wedge 106; PA1 (4) a flag which indicates whether there is a partial data cell written at the end of the track wedge 106; and PA1 (5) the number of data bytes in the partial data cell written at the end of the track wedge 106.
One such split table must be generated for each zone. In addition, each such split table would have a set of each of the five entries listed above associated with each data wedge 105. Therefore, if the medium had 90 such data wedges (i.e., 90 servo sectors), and 15 zones, then the number of entries to all 15 tables would be 90.times.15=1350. The number of bits required for each of these entries depends in part on the format of the data cells. For example, if the data cell is configured to be 512 bytes long, only nine bits is required for the portion of each entry that indicates the number of data bytes in the partial data cell written at the beginning and end of the track wedge 106. However, in a system in which 738 bytes may be included in each data cell, the number of data bytes in the partial data cell at either the beginning or end of the data wedge must be expressed using at least 10 bits.
Inefficiencies can account for a loss to the user of more than 25% of the otherwise useable data storage area. Due to the relatively large capacity of current data storage devices, even small increases of the efficiency can make relatively large blocks of additional capacity available to the user. In the highly competitive market for data storage devices, such improvements in the efficiency of a data storage device can result in improved sales and greater market share.
Accordingly, it is an object of the present invention to provide a system and method for optimizing the manner in which data cells are split across zones. Another object of the present invention is to provide a system and method for generating split tables that can be regenerated from a minimal amount of data stored on the medium. Still another object of the present invention is to provide a system and method for defining equalizer sub-zones to ensure proper equalization of the data channel in view of zones which include differing numbers of tracks. Yet another object of the present invention is to provide a DASD in which various formats can each be optimized in order to provide the most efficient selection of zone sizes, and thus the most efficient medium.